AT_IRO=/u/aujonarn/Documents/ocaml-3.11.2/

#OCAMLC=$(AT_IRO)/ocamlc
#OCAMLLEX=$(AT_IRO)/lex/ocamllex
#OCAMLYACC=$(AT_IRO)/yacc/ocamlyacc

OCAMLC=ocamlc
OCAMLLEX=ocamllex
OCAMLYACC=ocamlyacc

PROG=interpreter

# The list of object
PROG_OBJS=type.cmo grammar.cmo lexer.cmo variable.cmo display.cmo main.cmo

all:
	$(OCAMLC) -c type.ml
	$(OCAMLLEX) lexer.mll	
	$(OCAMLYACC) grammar.mly
	$(OCAMLC) -c grammar.mli
	$(OCAMLC) -c lexer.ml
	$(OCAMLC) -c grammar.ml
	$(OCAMLC) -c variable.ml
	$(OCAMLC) -c display.ml
	$(OCAMLC) -c main.ml
	$(OCAMLC) -o $(PROG) $(PROG_OBJS)

# Clean up
clean:
	rm -f $(PROG)
	rm -f *.cm[iox]
	rm -f grammar.ml
	rm -f grammar.mli
	rm -f lexer.ml

run:
	./$(PROG) sort.rb
	./$(PROG) test.rb
	./$(PROG) test2.rb

